package com.digicom.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 稿件实体类
 */
@Data
@TableName("dg_article")
public class Article implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 稿件ID */
    @TableId(type = IdType.ASSIGN_ID)
    private Long articleId;

    /** 所属专题ID */
    private Long topicId;

    /** 稿件标题 */
    private String title;

    /** 稿件内容 */
    private String content;

    /** 稿件摘要 */
    private String summary;

    /** 封面图片URL */
    private String coverUrl;

    /** 作者 */
    private String author;

    /** 稿件类型（0-免费，1-付费） */
    private String articleType;

    /** 价格（付费稿件） */
    private BigDecimal price;

    /** 阅读次数 */
    private Long viewCount;

    /** 点赞次数 */
    private Long likeCount;

    /** 评论次数 */
    private Long commentCount;

    /** 收藏次数 */
    private Long collectCount;

    /** 转发次数 */
    private Long shareCount;

    /** 稿件状态（0-草稿，1-已发布） */
    private String status;

    /** 发布时间 */
    private Date publishTime;

    /** 是否同步到APP（0-未同步，1-已同步） */
    private String syncApp;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /** 备注 */
    private String remark;

    /** 删除标志（0-存在，1-删除） */
    @TableLogic
    private String delFlag;
    
    /**
     * 设置收藏次数（兼容性方法）
     */
    public void setCollectionCount(long collectionCount) {
        this.collectCount = collectionCount;
    }
}
